package com.akuhome.resource.dao;

import com.akuhome.resource.DO.check.AccCheck;
import com.akuhome.resource.DO.check.ClassroomCheck;
import com.akuhome.resource.DO.check.FoodCheck;
import com.akuhome.resource.DO.check.use.ClassroomUse;
import com.akuhome.resource.DO.check.use.DormitoryUse;
import com.akuhome.resource.DO.check.use.FoodActual;
import com.akuhome.resource.dto.check.FoodCheckInfo;
import com.akuhome.resource.dto.use.ClassroomUseProject;
import com.akuhome.resource.dto.use.DormitoryUseProject;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

@Repository
public interface CheckDao {
    List<AccCheck> findAllAccCheck();
//    AccCheck findAccCheckById(Integer id);
    List<ClassroomCheck> findAllClassroomCheck();
//    ClassroomCheck findClassroomCheckById(Integer id);
    List<FoodCheck> findAllFoodCheck();
//    FoodCheck findFoodCheckById(Integer id);
    //实现
    AccCheck findAccCheckByProjectUid(String uid);
    //实现
    ClassroomCheck findClassroomCheckByUid(String uid);

    //实现
    List<ClassroomUse> findClassroomUseByClassroomCheckId(Integer classroomCheckId);
    //实现
    List<DormitoryUse> findDormitoryUseByAccCheckId(Integer accCheckId);
    //实现
    List<DormitoryUse> findDormitoryUseByProjectId(Integer projectId);
    //实现
    DormitoryUseProject findDormitoryUseProjectByProjectId(Integer projectId);
    //实现
    List<FoodActual> findFoodActualByFoodCheckId(Integer foodCheckId);
    //实现
    FoodCheckInfo findFoodCheckInfoByProjectId(Integer projectId);
    //实现
    ClassroomUseProject findClassroomUseProjectByProjectId(Integer projectId);

    void insertAccCheck(AccCheck accCheck,String uid);
    void insertClassroomCheck(ClassroomCheck classroomCheck,String uid);
    void insertFoodCheck(FoodCheck foodCheck,String uid);
//    Integer insertClassroomUse(ClassroomUse classroomUse);
//    Integer insertDormitoryUse(DormitoryUse dormitoryUse);
//    Integer insertFoodActual(FoodActual foodActual);
    //实现
    void insertDormitoryUseList(List<DormitoryUse> insertList);
    //实现
    void updateFoodCheck(FoodCheck foodCheck);
    //实现
    void updateFoodActualList(List<FoodActual> actualList);
    //实现
    void insertFoodActualList(List<FoodActual> actualList);
    //实现
    void deleteDormitoryUseList(List<DormitoryUse> deleteList);
    //实现
    void deleteFoodActualList(List<FoodActual> deleteList);
    //实现
    void insertClassroomUseList(List<ClassroomUse> insertList);
    //实现
    void deleteClassroomUseList(List<ClassroomUse> deleteList);
}
